package com.ionehe.group.common.uaa.ex.domain.service;

import com.ionehe.group.common.io.Response;
import com.ionehe.group.common.uaa.ex.dto.FunctionDTO;
import com.ionehe.group.common.uaa.ex.dto.Paging;

import java.util.List;

/**
 * Copyright (c) 2020 ionehe.com
 * Date: 2020/11/25
 * Time: 9:54 上午
 *
 * @author 2020年 <a href="mailto:a@ionehe.com">秀</a>
 */
public interface FunctionReadService {
    /**
     * 功能列表
     *
     * @return 功能列表
     */
    Response<List<FunctionDTO>> functionDetailInfo();

    /**
     * 功能列表(分页)
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @return 功能列表(分页)
     */
    Response<Paging<FunctionDTO>> pageFunctionDetailInfo(Integer pageNum, Integer pageSize);

    /**
     * 通过id查询function信息
     *
     * @param idList id集合
     * @return 对应id的function信息
     */
    Response<List<FunctionDTO>> selectByIdList(List<Long> idList);

    /**
     * 获取所有function
     * @return functionList
     */
    Response<List<FunctionDTO>> listAll();

    /**
     * 添加套餐是获取所有上架的权限
     * @return
     */
    Response<List<FunctionDTO>> addSetMealFunctionList(Long setMealId);

    /**
     * 套餐下权限树包含未上架
     * @param id 套餐id
     * @return
     */
    Response<List<FunctionDTO>> setMealDetailFunctionList(Long id);
}
